Skip to content

Conversation

@cherylEnkidu
Copy link
Contributor

#no-changelog

@wu-hui wu-hui force-pushed the wuandy/RealPpl_11 branch from 972da3c to a3e4b27 Compare October 14, 2025 18:01
@cherylEnkidu cherylEnkidu changed the base branch from wuandy/RealPpl_11 to feat/pipeline/private-preview October 22, 2025 03:22
/// }
/// ```
///
/// - Returns: A `PipelineSource` that can be used to build and execute a pipeline.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, I have updated Android's comment to this:

/**

  • Creates a new {@link PipelineSource} to build and execute a data pipeline.
  • A pipeline is composed of a sequence of stages. Each stage processes the

  • output from the previous one, and the final stage's output is the result of the
  • pipeline's execution.
  • Example usage:

  • {@code
    
  • Pipeline pipeline = firestore.pipeline()
  • .collection("books")
  • .where(Field("rating").isGreaterThan(4.5))
  • .sort(Field("rating").descending())
  • .limit(2);
  • }
  • Note on Execution: The stages are conceptual. The Firestore backend may

  • optimize execution (e.g., reordering or merging stages) as long as the
  • final result remains the same.
  • Important Limitations:

    • Pipelines operate on a request/response basis only.
    • They do not utilize or update the local SDK cache.
    • They do not support realtime snapshot listeners.
  • @return A {@code PipelineSource} to begin defining the pipeline's stages.
    */

///
/// - Parameter others: An array of at least one `Expression` value to check against.
/// - Returns: A new `BooleanExpr` representing the "NOT IN" comparison (not_eq_any).
/// - Returns: A `BooleanExpression` that can be used in `where` clauses.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be used in a where stage, among others.

?

/// the field to set or update.
/// - Parameter value: The `Expression` representing the value to set for the field.
/// - Returns: A new `FunctionExpression` representing the map with the updated field.
func mapSet(key: Expression, value: Sendable) -> FunctionExpression
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

delete?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

already did In the next PR: #15457

/// - Returns: A new "FunctionExpression" representing the bitwise AND operation.
func bitAnd(_ bitsExpression: Expression) -> FunctionExpression {
return FunctionExpression("bit_and", [self, bitsExpression])
return FunctionExpression(functionName: "bit_and", args: [self, bitsExpression])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bit* operations are not in scope.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can also delete the tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the APIs here are for internal access. I moved the function here instead of deleting it to reduce future rework.

/// - Returns: A new `FunctionExpression` representing the Manhattan distance.
func manhattanDistance(_ expression: Expression) -> FunctionExpression {
return FunctionExpression("manhattan_distance", [self, expression])
return FunctionExpression(functionName: "manhattan_distance", args: [self, expression])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not in scope.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the APIs here are for internal access. I moved the function here instead of deleting it to reduce future rework.

@wu-hui wu-hui assigned cherylEnkidu and unassigned wu-hui Oct 29, 2025
@cherylEnkidu cherylEnkidu assigned wu-hui and unassigned cherylEnkidu Oct 30, 2025
@wu-hui wu-hui assigned cherylEnkidu and unassigned wu-hui Oct 31, 2025
@cherylEnkidu cherylEnkidu merged commit 680503d into feat/pipeline/private-preview Oct 31, 2025
25 of 26 checks passed
@cherylEnkidu cherylEnkidu deleted the cheryllin/AddNameTage branch October 31, 2025 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants